The present invention relates to spreading factor detection, and more particularly, but not explicitly, spreading factor detection or determination in a communication system that is based on direct sequence spread spectrum technique or any analogous technique.
In a communication system data is transmitted as a plurality of data symbols in subsequent data or radio frames. The signals carrying the data may be transmitted with variable data symbol transmission rates (data speeds), wherein the transmission rate may be different in subsequent frames of the transmission. For example, in a cellular CDMA (Code Division Multiple Access) system data is encoded for transmission by processing data symbols to be transmitted by a spreading code for each transmission channel. The effect of a spreading code is to spread the frequency band of a transmission to a chip rate which is larger than the actual data or information symbol rate. This results that more symbols is transmitted than what the actual number of information symbols is since at least some of the symbols are repeated. For example, if the used spreading factor is eight, eighth symbols (referred to as xe2x80x9cchipsxe2x80x9d) are transmitted for every information symbol.
According to one possibility the length of the spreading code (i.e. the number of xe2x80x9cchipsxe2x80x9d per a data symbol) is defined by a spreading factor. It is, however, noted that the length of the spreading code may also remain constant, i.e. the length thereof may not necessarily depend on the data rate. The spreading factor is sometimes expressed by a definition xe2x80x98chip ratexe2x80x99: xe2x80x98data symbol ratexe2x80x99 or by xe2x80x98data symbol durationxe2x80x99: xe2x80x98chip durationxe2x80x99, wherein the xe2x80x98data symbol durationxe2x80x99 equals 1: xe2x80x98data symbol ratexe2x80x99 and the xe2x80x98chip durationxe2x80x99 equals 1: xe2x80x98chip ratexe2x80x99. The term spreading factor will be used in the following, although also other terms, such as spreading ratio or processing gain, may sometimes be used in this context.
It is possible to set up such a variable-rate (multi-rate) connection where the data symbol rate of the information symbols or bits, and thus the spreading code used in the spreading modulation of these symbols, may vary from frame to frame (e.g. every 10 ms). The data rates used in such a connection are not arbitrary, but for each frame duration, one of the plurality of predefined data rates is used. Moreover, although not necessarily so, every higher data symbol rate may be dividable by a lower data symbol rate, the division factor being for example 2k for kxe2x89xa70. This specification presents an example employing variable-rate connection spreading factors 4, 8, 16, 32, 64, 128 and 256 and corresponding data rates. However, it is evident that also other spreading factors and data rates may be used without departing from the basic concept of the variable data rate (or multi-rate) transmission. To give an example of a possible relation between the spreading factors (SF) and the data symbol rates, in a CDMA with a chip rate of 4.096 MHz the relation may be such that spreading factors 4, 8, 16, 32, 64, 128 and 256 correspond data rates 1024, 512, 256, 128, 64, 32 and 16 ksps (kilosymbols per second), respectively. However, the relation between the spreading factors and data rates may be different. For example, factors such as the number of code channels and the employed channel coding method and possible use of puncturing may influence the relation between the end user bit rate and the spreading factor.
When a signal is transmitted between a base station and a mobile station (either on the uplink or the downlink) in a communication system that is based on direct sequence spread spectrum technique, the receiving station may need to establish from the received signal some information about the communication path along which the signal has travelled. This procedure is referred to herein as xe2x80x9cchannel estimationxe2x80x9d. The channel estimation is typically carried out in a channel estimation entity. Various techniques are known for channel estimation. A channel impulse response generated by the estimation entity is required in order to properly decode and process incoming data.
In case a dedicated data channel is used for the channel estimation, it is possible to use the spreading factor and/or the data transmission rate of the received signal in the channel estimation. It is also possible, and in some cases even necessary, to utilise spreading factor information when estimating signal-to-interference ratio (SIR) in a data channel. However, if the spreading factor and/or data rate of a received radio frame is not directly available at the receiving station, the correct or most probable value thereof has to be determined by some means, e.g. by trying several possible data spreading factors for the transmission. For example, in the CDMA the data symbols in said radio frame are usually obtained by means of detecting the complex data symbols assuming that the highest-possible data symbol rate is used for transmission, and using the lowest-possible spreading factor in the receiving station. For example, when the length of the spreading code depends on the spreading factor, the shortest possible spreading code (e.g. with spreading factor SF=4) has to be known so that all the other spreading codes can be constructed from the shortest spreading code by multiplying the shortest spreading code by an integer. In practice, if the turnover time of the spreading code, i.e. the spreading factor, is not known, the receiver unit must perform the first despreading based on an assumption that the shortest possible code (minimal SF) was used for the transmission. For example, assuming that the data rate of the received radio frame was 1024 ksps in the first place, this corresponds to the spreading factor of 4 (at 4.096 Mcps) used in the detection of the data symbols. The result of this detection should be a data vector of all detected complex information symbols corresponding to the received radio frame.
The components of a signal that has propagated over a multipath channel have to be combined or summed at the receiver end in order to receive a signal that corresponds the original signal prior spreading and transmission. An example of the combination techniques is so called maximal ratio combination (MRC). The MRC is based on computing a weighted average for the signal components such that more weight is given for the signal components that have travelled over the strongest signal paths.
However, after combining the spread signal a correct spreading factor has to be used, otherwise the received data cannot be properly represented or used otherwise and/or will be lost. Therefore the above assumption of the data rate may not be enough, but a more accurate determination of the actual data rate of the signal at the transmitting station during the transmission may be required. For example, if the basic assumption is incorrect, this stage may then give a decision that instead of the assumed and initially used 1024 ksps (with spreading factor 4 and frequency 4.096 MHz) the actual data rate in the received radio frame was 256 ksps (corresponding to the spreading factor of 16). After the determination, as many adjacent samples or chips as is indicated by the spreading factor are summed together to get one actual data symbol. In the above example, this would lead to summing up every four adjacent samples to get one actual data symbol (4xc3x974=16). Therefore it would be advantageous to be able to have information of the actual data symbol rate and/or spreading factor of the transmission already at the time of the detection of the signal at the receiver circuitry.
The transmission between the stations may or may not include explicit information of the spreading factors and/or data rates of the transmitted signal. If the variable-rate connection includes explicit information on the used spreading factors and/or data rates for each received radio frame, this information is usually given in a separate channel, for example in an DPCCH (Dedicated Physical Control Channel). However, this information is often encoded and/or interleaved over several frames in such a way that the actual data rate of the received radio frame is not known at the time the data symbols of the radio frame are detected. In addition, it may be necessary in some applications to be able to establish another estimate of the data rate or spreading factor information, for example for the purposes of verification and/or correction of the received data rate information.
In the latter case, i.e. if the explicit information is not included in the received signal, a unknown rate or blind rate estimation is to be employed at the receiving station in order to define at the receiver the spreading factor and/or the data rate of the received signal. Therefore a mechanism may be needed for estimating the data rate and/or spreading factor in a receiving station (e.g. a base station or a mobile station). This estimate may be desirable, for example, when this information is not available, or when an early estimate of the data rate is required before decoding, or when a confirmation of data rate information received from the transmitting station is desired.
One prior art proposal for detecting the data rate of the received signal before the decoding is based on the power difference of the received bits in the data channel (dedicated physical data channel: DPDCH) and the control channel (dedicated physical control channel: DPCCH). In other words, the method is based on monitoring the power ratio between the data and control channels. The method is relatively simple as it requires only the average power estimates of the received control symbols and data symbols. However, the spreading factor is not directly dependent from power ratio in all code division communications systems. A further disadvantage of the power ratio method is that it is not very accurate and/or reliable. Especially, if a high spreading factor is used in detecting the data symbols (SF=256 in the above example) in the first place, noise becomes very dominant in the detection process. This degrades substantially the performance of the data symbol power estimation.
Another prior art method is based on CRC (Cyclic Redundancy Check: an error detection signal) decoding of the received signal. In here a convolutional error control code or any other appropriate error control code (e.g. so called turbo code that is often applied for high-speed data transmission) is decoded for each possible spreading factor and a CRC check is accomplished for the results. If a correct CRC is detected, a correct data rate has been found. In other words, the method is based on a data rate assumption at each decoding stage and a subsequent selection of a data rate which gives either a correct or an incorrect CRC word. To give an example, assuming again that the possible data rates are 32, 64, 128, 256, 512, and 1024 ksps, a CRC check would be calculated directly for the information symbols of the received radio frame by assuming firstly a data rate of 1024 ksps. The resulting CRC word is stored. Two adjacent received symbols are summed together, assuming a data rate of 512 ksps, and a further CRC check is calculated for these information symbols. The resulting CRC word is stored. The process continues summing two adjacent information symbols together and calculating CRC checks for all these information streams until a lowest-possible data rate is achieved. Thereafter the stored CRC words are verified and such a data rate is selected that corresponds the rate used in the transmitter when a right CRC check was obtained (if such existed at all).
However, the CRC method is computationally complex and involves a substantially large amount of processing since the convolutional error control code or similar must be decoded for each possible frame length. If there are N possible data rates, this requires N consequent CRC decoding processes before a decision of the transmitter data rate can be made. In addition, the spreading factor detector based on the CRC has to be located after the decoding stage, and the data rate for a frame can be calculated only after the entire radio frame has been received. This delay is increased if frame interleaving is employed. Thus this method cannot be used e.g. when the spreading factor has to be known all the time during the receiving process, and the CRC check may not be applied in applications where the data rate information has to be available before the entire radio frame has (or interleaved frames have) been received. The above method delays the final decision of the data rate of the received signal to a stage where at least some decoding of the data is needed for the first time. This will make the operation more complex and difficult especially for receiver structures that require an estimate of the data transmission rates of the received signals at an earlier stage than the first decoding. An example of such receiver is an Interference Cancellation (IC) receiver. Moreover, the method does not give any data rate at all if the algorithm does not give an exactly matching CRC check.
It is an aim of the embodiments of the present invention to address one or several of the disadvantages of the prior art and/or to provide a new type of solution for spreading factor and/or data rate detection.
According to an aspect of the present invention there is provided a method for determining a spreading factor for a signal in a communication system with variable data transmission rates, wherein the received signal includes a plurality of data symbols that are spread in the signal in a manner defined by a spreading code and a spreading factor, the spreading factor being one of a plurality of possible spreading factors, comprising:
processing the received signal so as to produce signal outputs which are cleared from the effects of the spreading code;
computing autocorrelation values for the signal outputs; and
determining the spreading factor that was used for the signal based on the computed autocorrelation values.
According to another aspect of the present invention there is provided a circuitry for determining a spreading factor for a signal in a communication system with variable data transmission rates, wherein the received signal includes a plurality of data symbols that are spread in the signal in a manner defined by a spreading code and a spreading factor, the spreading factor being one of a plurality of possible spreading factors, comprising:
means for processing the received signal so as to produce signal outputs which are cleared from the effects of the spreading code;
means for computing autocorrelation values for the signal outputs; and
means determining the spreading factor that was used for the signal based on the computed autocorrelation values.
According to a further aspect there is provided a method for determining a spreading factor for a signal in a communication system with variable data transmission rates, wherein the received signal includes a plurality of data symbols that are spread in the signal in a manner defined by a spreading code and a spreading factor, the spreading factor being one of a plurality of possible spreading factors, wherein the determination method comprises at least two stages, said at least two stages being based on different principles of spreading factor determination.
The embodiments of the present invention provide several advantages. The embodiment may provide a simple solution for detection and computations of the spreading factor. The spreading factor may be detected before decoding. Thus the embodiments may be used in applications where the spreading factor must be known all the time. The possibility of detecting the spreading factor prior to decoding may also be advantageous when multiple access interference (MAI) cancellation is applied in the receiver. The embodiments of the invention may be applied to provide a spreading factor or data rate estimate when no rate information is transmitted. The embodiments of the invention may be applied when the rate information is transmitted but cannot, for reason or another, be used or detected from the signal during the receiving process. One possible use of the embodiments is to provide an additional data rate information which can be used e.g. for correction or error check of a rate information detected from the transmitted signal. The possibility for an early detection of the unknown data rate may enable use of any such receiver structure which makes use of the data rate information at an early stage. The estimate may also be used to assist in rate selection for applications such as Viterbi decoding of the incoming data symbols, or to assist in decision of an alternative transmission rate for decoding if an error check fails.